package com.liy.cloud.common.feign.api;

import com.liy.cloud.common.feign.fallback.BaseFeignClientFallbackFactory;
import com.das.framework.common.extvo.ResultVO;
import com.das.framework.common.vo.PageVO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.*;

/**
 * 基础模块相关接口定义在该类
 */
@Component
@FeignClient(name = "base", fallbackFactory = BaseFeignClientFallbackFactory.class)
public interface BaseFeignClient {

    /**
     * 查询设备种类参数信息
     *
     * @return
     */
    @ResponseBody
    @RequestMapping(value = "/equtype/param/get/type/param/info", method = RequestMethod.GET)
    public ResultVO getTypeParamInfo();


    /**
     * 查询paramContent
     *
     * @return
     */
    @ResponseBody
    @RequestMapping(value = "/equparam/get/equid/group", method = RequestMethod.GET)
    public ResultVO getEquidGroup();


    /**
     * 查询设备参数信息
     *
     * @param vo
     * @param pageSize
     * @param pageNo
     * @return
     */
    @ResponseBody
    @RequestMapping(value = "/equparam/query/{pageSize}/{pageNo}", method = RequestMethod.GET)
    public PageVO queryEquparamAll(
            @RequestParam("get") Object vo,
            @PathVariable("pageSize") Integer pageSize, @PathVariable("pageNo") Integer pageNo);


    /**
     * 查询卡类型
     *
     * @param vo
     * @param pageSize
     * @param pageNo
     * @return
     */
    @ResponseBody
    @RequestMapping(value = "/card/type/query/{pageSize}/{pageNo}", method = RequestMethod.GET)
    public PageVO queryCardTypeAll(
            @RequestParam("get") Object vo,
            @PathVariable("pageSize") Integer pageSize, @PathVariable("pageNo") Integer pageNo);


    /**
     * 查询线路
     *
     * @param vo
     * @param pageSize
     * @param pageNo
     * @return
     */
    @ResponseBody
    @RequestMapping(value = "/line/query/{pageSize}/{pageNo}", method = RequestMethod.GET)
    public PageVO queryLineAll(
            @RequestParam("get") Object vo,
            @PathVariable("pageSize") Integer pageSize, @PathVariable("pageNo") Integer pageNo);


}
